#ifndef __GIMBAL_TASK_H
#define __GIMBAL_TASK_H

#include "FreeRTOS.h"
#include "task.h"
#include "string.h"
#include "bsp.h"


/******************************************************
 * @data	2021.2.21
 * @brie	任务堆栈定义
 * @input	
 * @output	
 * @mader	刘佳豪  QQ：2663550823  ph:15532258591
 * ***************************************************/
//GIMBAL_UPDATE任务优先级
#define GIMBAL_UPDATE_TASK_PRIO			21
//任务堆栈大小
#define GIMBAL_UPDATE_TASK_SIZE 		128  



//GIMBAL_CALCULATE任务优先级
#define GIMBAL_CALCULATE_TASK_PRIO		22
//任务堆栈大小
#define GIMBAL_CALCULATE_TASK_SIZE 		128



//GIMBAL_ECHO任务优先级
#define GIMBAL_ECHO_TASK_PRIO			23
//任务堆栈大小
#define GIMBAL_ECHO_TASK_SIZE	 		128


//GIMBAL_CTRL任务优先级
#define GIMBAL_CTRL_TASK_PRIO			31
//任务堆栈大小
#define GIMBAL_CTRL_TASK_SIZE 			128  


/******************************************************
 * @data	2021.2.21
 * @brie	结构体&函数声明
 * @input	
 * @output	
 * @mader	刘佳豪  QQ：2663550823  ph:15532258591
 * ***************************************************/
//任务句柄
extern  TaskHandle_t GimbalUpdateTask_Handler;
extern  TaskHandle_t GimbalCalculateTask_Handler;
extern  TaskHandle_t GimbalCtrlTask_Handler;
extern  TaskHandle_t GimbalEchoTask_Handler;

//任务函数
void gimbal_update_task		(void *pvParameters);		//云台数据更新任务
void gimbal_calculate_task	(void *pvParameters);		//云台数据解算任务
void gimbal_ctrl_task		(void *pvParameters);		//云台运动控制任务
void gimbal_echo_task		(void *pvParameters);		//云台上返控制任务


#endif
